1. Statement of the Technical Field
The present invention relates to the field of interprocess communications and more particularly to an event notification structure in a system of dynamically aggregated logical components.
2. Description of the Related Art
Interprocess communications involves the exchange of messages between different logical processes, whether the processes reside within the same or different process address spaces. For as long as computing devices have been able to communicate electronically over a data communications network, processes operating within the different devices have exchanged data using known techniques in interprocess communications. Over time, interprocess communications have evolved from direct point-to-point linkages, to connection-oriented and connectionless Internet protocol based communications, to higher level exchanges of events and messages.
Prior to the advancement of interprocess communications technologies, most computing processes remained self-contained, operating exclusively based upon data available within the process address space and according to the detectable state of the computing process. As interprocess communications technologies have advanced, however, independently operating computing processes have demonstrated a willingness to rely both upon data which can be accessed within other computing processes, and also according to the state of other applications which can be detected across address space boundaries. Indeed, many computing processes have been developed to intercede in the operation of other independent computing processes through the trapping of event messages in the independent computing processes.
Conventionally, the methodologies available for detecting and interceding in an event handling process of a computing process remain limited to the cooperative hard-coding of event publishing logic within the computing process, and the sub-classing of an event-handler within the computing process to re-route process events to an alternative event handler. Both methodologies require substantial pre-configuration on the part of the software developer and both methodologies can be limited to static configurations specified well in advance of the deployment of the computing processes. In many circumstances known in the art, however, a static configuration of one or more computing processes for event notification and management simply cannot suffice.
Specifically, recent trends in on-demand computing have given rise to the dynamic aggregation of computing processes to produce a highly personalized, composite application. Consistent with this dynamic aggregation, customized applications having varying constituent logical components can be constructed dynamically according to a templated arrangement limited only by the identity of the end user to the extent that user based authentication has been incorporated as part of the application aggregation framework. Given the fluid and unpredictable nature of the dynamic aggregation process, however, different computing processes within an aggregation often cannot have enough of an awareness of one another to permit event notification and management. Moreover, as it can be difficult to account for all possible aggregations in a dynamic aggregation process, pre-configuring any one of the computing processes within the aggregation for event notification sharing can be challenging if not impossible.